03-03-03 setup.pyとMANIFEST.in: パッケージ情報と同梱するファイルの設定
distutils.core.setupの代わりにsetuptools.setupを使う
distutils版から機能拡張されている
setup関数の引数
nameの説明、パッケージとプロジェクトが逆では?
パッケージ名です。(略)プロジェクト名と一緒にするのが一般的です。(p.70)
IMO:プロジェクト名です。(略)パッケージ名と一緒にするのが一般的です。
packages
find_packagesは現在のディレクトリー以下にあるPythonパッケージを自動的に探して、パッケージ名を全て返します。(p.71)
py_modules
include_package_data
パッケージリソースを含めるか
packages引数に指定したディレクトリ(Pythonパッケージ)にある.py以外のファイル
ただし、この設定だけでパッケージリソースが配布パッケージに同梱されるわけではありません。(p.71)
👉MANIFEST.in(下へ)
install_requires
requirements.txtと異なり、install_requiresにはバージョンを指定しないのが一般的です。(p.71)
MANIFEST.in
recursive-includeの例
includeの例
パッケージを配布する場合、ライセンスファイルは同梱したほうが良いでしょう。(p.72)
インストール先の環境に同梱したファイルを置きたい場合は、前述のinstall_package_data=Trueも指定する必要があります。(p.72)
感想:MANIFEST.inを置くが、install_package_dataは指定しない場合もある、ってこと?
ライセンスをMANIFEST.inに指定するが、インストール(時のファイル配置)はしない